﻿Ext.define('HIT.view.ApplyFormListGrid07', {
	extend : 'Ext.grid.Panel',
	alias : 'widget.applyformlistgrid07',

	cls : 'custom-grid',
	frame : false,
	width : 1200,
	id : 'applyformlistgrid07',
	columnLines : false,
	store : 'ApplyFormListGrid07Store',

	initComponent : function() {
		var me = this;

		var columns = '';
		
		Ext.Ajax.request({
			// 从controller返回的response中读取数据
			url : 'getApplyFormColumns',
			method : 'POST',
			params : {
				formType : 'APPFORM_TYPE07'
			},
			async : false,
			success : function(response) {
				s = response.responseText;
				
				json_f = Ext.JSON.decode(s);
				columns = json_f.columns;
			}
		});
		Ext.applyIf(me, {
			columns : columns,
			viewConfig : {
				enableTextSelection : true
			},
			selModel : Ext.create('Ext.selection.CheckboxModel'),
//			plugins : [ {
//				ptype : "rowselectionpaging"
//			} ],
			dockedItems : [ {
				xtype : 'pagingtoolbar',
				id    : 'ApplyFormListGrid07toolbar',
				dock : 'bottom',
				width : 360,
				inputItemWidth : 45,
				displayInfo : true,
				store : 'ApplyFormListGrid07Store',
				plugins : [ {
					ptype : "pagesize",
					uxPageSize : page_size
				} ]
			}, {
				xtype : 'toolbar',
				dock : 'top',
				items : [ {
					xtype : 'tbspacer',
					width : 20
				}, {
					xtype : 'combo',
					id : 'form_list_docno07',
					fieldLabel : Share.T('表单号'),
					hideTrigger : true,
					valueField : 'value',
					displayField : 'text',
					labelWidth : 55,
					queryMode : 'local',
					store: new Ext.data.JsonStore({
						proxy: {
							type : 'ajax', 
							url : ctx + '/getFormListFormNo',
        	                params : {},
        	                reader : {
        	                    type: 'json',
        	                    totalProperty: '', 
        	                    root: '' 
        	                }
						},
						fields:['text','value'], 
        	            autoLoad:true 
			        }),
			        listeners : {
			        	beforequery : function(e) {
							var combo = e.combo;
							if (!e.forceAll) {
								var value = e.query;
								combo.store.filterBy(function(record, id) {
									var text = record.get(combo.displayField);
									return (text.indexOf(value) != -1);
								});
								combo.expand();
								return false;
							}
						},
						beforerender:function(){
			        		this.store.removeAll();
			        		this.store.on('beforeload', function(store) {
			        			Ext.apply(store.proxy.extraParams , {
			        				formtype : 'APPFORM_TYPE07'
			        			});
			        		});
			        		this.store.load();
			        	}
			        }
				}, {
					xtype : 'tbspacer',
					width : 30
				}, {
					xtype : 'combo',
					id : 'form_list_custname07',
					fieldLabel : Share.T('客户名称'),
					width : 200,
					labelWidth : 60,
					hideTrigger : true,
					valueField : 'value',
					displayField : 'text',
					queryMode : 'local',
					store : new Ext.data.JsonStore({
    					proxy: { 
        	                type: 'ajax', 
        	                url : ctx + '/getFormListCustName',
        	                params : {},
        	                reader : {
        	                    type : 'json',
        	                    totalProperty : '',
        	                    root : '' 
        	                } 
	        	        },
	        	        fields : ['text','value'], 
	        	        autoLoad : true
			        }),
			        listeners : {
			        	beforequery : function(e) {
							var combo = e.combo;
							if (!e.forceAll) {
								var value = e.query;
								combo.store.filterBy(function(record, id) {
									var text = record.get(combo.displayField);
									return (text.indexOf(value) != -1);
								});
								combo.expand();
								return false;
							}
						},
						beforerender:function(){
			        		this.store.removeAll();
			        		this.store.on('beforeload', function(store) {
			        			Ext.apply(store.proxy.extraParams , {
			        				formtype : 'APPFORM_TYPE07'
			        			});
			        		});
			        		this.store.load();
			        	}
			        }
				}, {
					xtype : 'tbspacer',
					width : 30
				}, {
					xtype : 'combo',
					id : 'form_list_status07',
					fieldLabel : Share.T('状态'),
					width : 200,
					editable : false,
					labelWidth : 50,
					valueField : 'value',
					displayField : 'text',
					queryMode : 'local',
					store : new Ext.data.JsonStore({
    					proxy: { 
        	                type: 'ajax', 
        	                url : ctx + '/getFormListFormStatus',
        	                params : {},
        	                reader : {
        	                    type : 'json',
        	                    totalProperty : '',
        	                    root : '' 
        	                }
	        	        },
	        	        fields : ['text','value'], 
	        	        autoLoad : true
			        }),
			        listeners : {
						beforerender:function(){
			        		this.store.removeAll();
			        		this.store.on('beforeload', function(store) {
			        			Ext.apply(store.proxy.extraParams , {
			        				formtype : 'APPFORM_TYPE07'
			        			});
			        		});
			        		this.store.load();
			        	}
			        }
				}, {
					xtype : 'tbspacer',
					width : 30
				}, {
					xtype : 'datefield',
					id : 'form_appply_date07',
					fieldLabel : Share.T('申请日期'),
					width : 200,
					format : 'Y-m-d',
					editable : false,
					labelWidth : 60
				}, {
					xtype : 'tbspacer',
					width : 20
				}, {
					xtype : 'button',
					id : 'form_list_search07',
					text : Share.T('查询')
				} ]
			} ]
		});
		me.callParent(arguments);
	}
});